/*
 * @Descripttion: your project
 * @version: 1.0
 * @Author: hongweixun
 * @Date: 2022-07-12 10:48:36
 * @LastEditors: hongweixun
 * @LastEditTime: 2022-07-14 16:10:52
 */
import Vue from 'vue'
import Vuex from 'vuex'
// 引入 router 在vuex内使用router跳转
import router from '../router'

Vue.use(Vuex)
Vue.use(router)

export default new Vuex.Store({
  state: { // 定义tabs 所需参数
    websocketErr: false,
    socketData: {},
    // 考勤统计
    recordList: [],
    // 宿舍评分统计
    floorList: [],
    // 楼栋宿舍扣分统计
    dormitScore: [],
    // 宿舍通报名单
    noticeList: [],
    // 判断楼栋宿舍是否追加数据
    dormitBool: false
  },
  mutations: {
    SET_ERR_SOCKET (state, val) {
      state.websocketErr = val
    },
    setWebSocketData (state, val) {
      state.socketData = val
    },
    SET_RECORD_LIST (state, val) {
      state.recordList = val
    },
    SET_FLOOR_COUNT (state, val) {
      state.floorList = val
    },
    SET_DORMIT_SCORE (state, val) {
      state.dormitScore = val
    },
    SET_NOTICE (state, val) {
      state.noticeList = val
    },
    SET_DORMIT_BOOL (state, val) {
      state.dormitBool = val
    }
  },
  actions: {
    // 全局存储接收到的websocket数据，每次有新数据都会更替
    setWebSocketData (context, obj) {
      context.commit('setWebSocketData', obj)
    },
    // 关闭websoket弹窗的
    setErrSocket (context, obj) {
      context.commit('SET_ERR_SOCKET', obj)
    },
    // 全局存储当日考勤统计的数据
    setRecordList (context, obj) {
      context.commit('SET_RECORD_LIST', obj)
    },
    //  全局存储宿舍评分统计
    setFloorCount (context, obj) {
      context.commit('SET_FLOOR_COUNT', obj)
    },
    // 全局存储楼栋宿舍扣分统计
    setDormitScore (context, obj) {
      context.commit('SET_DORMIT_SCORE', obj)
    },
    // 全局存储宿舍通报名单
    setNotice (context, obj) {
      context.commit('SET_NOTICE', obj)
    },
    // 楼栋宿舍漏粉统计判断是否追加数据的
    setDormitBool (context, obj) {
      context.commit('SET_DORMIT_BOOL', obj)
    }
  }
})
